
using Nop.Core;
using Nop.Core.Domain.XJ;
using System.Collections.Generic;

namespace Nop.Services.XJ
{
	/// <summary>
	/// XJEquipmentStockLog service
	/// </summary>
	public partial interface IXJEquipmentStockLogService
	{
		/// <summary>
		/// Gets all XJEquipmentStockLogs
		/// </summary>
		/// <returns>XJEquipmentStockLog</returns>
		IList<XJEquipmentStockLog> GetAllXJEquipmentStockLogs();

		IPagedList<XJEquipmentStockLogTemp> GetAllStockLogs(int typeId = 0, int stockId = 0, int equipmentId = 0, int pageIndex = 0, int pageSize = int.MaxValue);

		bool HasLogs(int equipmentId);

		XJEquipmentStockLogTotal GetTotal(int typeId = 0, int stockId = 0, int equipmentId = 0, int pageIndex = 0, int pageSize = int.MaxValue);

		/// <summary>
		/// Gets a XJEquipmentStockLog 
		/// </summary>
		/// <param name="xJEquipmentStockLogId">XJEquipmentStockLog identifier</param>
		/// <returns>XJEquipmentStockLog</returns>
		XJEquipmentStockLog GetXJEquipmentStockLogById(int xJEquipmentStockLogId);

		/// <summary>
		/// Inserts a XJEquipmentStockLog
		/// </summary>
		/// <param name="xJEquipmentStockLog">XJEquipmentStockLog</param>
		void InsertXJEquipmentStockLog(XJEquipmentStockLog xJEquipmentStockLog);

		/// <summary>
		/// Updates the XJEquipmentStockLog
		/// </summary>
		/// <param name="xJEquipmentStockLog">XJEquipmentStockLog</param>
		void UpdateXJEquipmentStockLog(XJEquipmentStockLog xJEquipmentStockLog);

		/// <summary>
		/// Deletes a XJEquipmentStockLog
		/// </summary>
		/// <param name="XJEquipmentStockLog">XJEquipmentStockLog</param>
		void DeleteXJEquipmentStockLog(XJEquipmentStockLog xJEquipmentStockLog);
	}
}

